package com.ttg.model.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import lombok.Data;
import java.time.LocalTime;
import java.util.List;


@Data
public class PeopleOneVo {
    /**
     * 主键ID
     */
    @JsonProperty("id")
    private Integer id;

    /**
     * 人群名称
     */
    @JsonProperty("pep_name")
    private String pepName;

    /**
     * 英文人群名称
     */
    @JsonProperty("pep_en_name")
    private String pepEnName;

    /**
     * 备注
     */
    @JsonProperty("pep_description")
    private String pepDescription;

    /**
     * 人群颜色
     */
    @JsonProperty("pep_color")
    private String pepColor;

    /**
     * 包含用户,标签关联id
     */
    @JsonProperty("contains_tag_ids")
    private List<VipTag> containsTagIds;

    /**
     * 排除用户,标签关联id
     */
    @JsonProperty("exclude_tag_ids")
    private List<VipTag> excludeTagIds;

    /**
     * 是否移动端显示，0-否，1-是  默认选择“否”
     */
    @JsonProperty("pep_mobile_show")
    private Integer pepMobileShow;

    /**
     * 数据口径: user-用户 , merch -商户
     */
    @JsonProperty("pep_data_source")
    private String pepDataSource;

    /**
     * 预估人数
     */
    @JsonProperty("pep_num")
    private Integer pepNum;

    /**
     * 更新方式：auto-自动更新，hand-手动更新（标签生成后，点击“更新"进行数据的更新）
     */
    @JsonProperty("update_type")
    private String updateType;

    /**
     * 更新时间范围：示例：20251020-20251020,为null表示不限制
     */
    @JsonProperty("update_date_scope")
    private String updateDateScope;

    /**
     * 更新频率，daily-每天，weekly-每周，monthly-每月
     */
    @JsonProperty("update_frequency")
    private String updateFrequency;

    /**
     * 人群更新日期：更新频率=每周时，保存周一到周日1-7（多个逗号分割），更新频率=每月时，保存1号-31号，倒数第一天-倒数第三天lastday1-lastday3（多个逗号分割）
     */
    @JsonProperty("pep_update_dates")
    private String pepUpdateDates;

    /**
     * 人群更新时间
     */
    @JsonProperty("pep_update_time")
    @JsonDeserialize(using = LocalTimeDeserializer.class)
    private LocalTime pepUpdateTime;


}
